package br.ucb.servlets.emprestimo;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.ucb.dao.EmprestimoDAO;
import br.ucb.entidade.Emprestimo;
import br.ucb.entidade.Livro;
import br.ucb.entidade.Usuario;
import br.ucb.service.EmprestimoService;
import br.ucb.service.LivroService;
import br.ucb.service.impl.EmprestimoServiceImpl;
import br.ucb.service.impl.LivroServiceImpl;
import br.ucb.servlets.AbstractPapirosServlet;

@SuppressWarnings("serial")
public class BuscarEmprestimosServlet_1 extends AbstractPapirosServlet<Emprestimo, EmprestimoService, EmprestimoDAO>{

	@Override
	protected void processaRequisicao(HttpServletRequest req,
			HttpServletResponse resp) throws ServletException, IOException {

		setEntidadeService(new EmprestimoServiceImpl());
		setEntidade(new Emprestimo());
		
		getEntidade().setCpf(((Usuario)req.getSession().getAttribute("user")).getCpf());
		
		List<Emprestimo> emprestimos = find(getEntidade(), req);
		
		if(!emprestimos.isEmpty()){
			List<Livro> livros = new ArrayList<Livro>();
			LivroService livroService = new LivroServiceImpl();
			Livro livro = new Livro();
			for(Emprestimo emp : emprestimos){
				livro.setCodigo(emp.getCodigo());
				livros.add(livroService.findByKey(livro));
			}
			req.setAttribute("emprestimos", emprestimos);
			req.setAttribute("livros", livros);
		}
		forward(req, resp, "/jsp/restrito/verEmprestimos.jsp");
		
	}

}
